import java.util.Arrays;   // 这个包让我们方便去阅数组

/**
 * Created with IntelliJ IDEA.
 * Description:
 * User: Hua YY
 * Date: 2023 —10 —15
 * Time: 9:33
 */
public class test_10_15 {

    /*
    //数组转字符串
  public static void main(String[] args) {
      int [] array = new int[]{4,2,5,6,8};
      String ret = Arrays.toString(array);
      System.out.println(ret);
      Arrays.sort(array,0,4);
      System.out.println( Arrays.toString(array));
  }
    */



    /*
    public static void main(String[] args) {
        int[] array = {3,5,2,6,7};
        System.out.println(myToString(array));
    }

    */




    /*
    public static void main(String[] args) {
        //int[] array = {};
        int[] array =null; //数组越界
        System.out.println(myToString(array));
    }

    public static String myToString(int [] array){
        String ret = "[";
        for (int i = 0; i < array.length; i++) {
            ret += array[i];
            if(i != array.length-1){
                ret += ",";            //想办法把最后一个元素后面的逗号给他消掉
            }
        }                      // i == 字符串长度-1 就不打印逗号//相反  i =! 字符串长度-1  就打印逗号
        ret += "]";
        return ret ;
    }
    */


    //以上的代码主要学习了两种 数组的相关应用
    //一种是Arrays.toString(数组名)  是用来把数组中的元素读取后转化为字符串输出
    //一种是Array.sort(数组名，开始的元素下标，结束的元素下标)，进行排序




    /*
    //冒泡排序  //写完这个代码弄懂后我要升仙了，aaaa！！！
    public static void main(String[] args) {
        //冒泡排序，写方法，两层循环
        int [] array = new int[] {8,12,5,7,9};
       // System.out.println(bubble(array));  不能这么直接调函数，在把数组名放进去读
        bubble(array);
        //遍历数组
        for (int x:array) {
            System.out.print(x + " ");
        }

    }

    public static void bubble (int[] array){
        for (int i = 0; i < array.length - 1 ; i++) {     //i代表趟数
            //代码优化
            boolean flg = false;
            for (int j = 0; j < array.length-1-i; j++) {
                if (array[j] > array[j+1]) {
                    int temp = array[j + 1];
                    array [j + 1] = array[j];
                    array[j] = temp;
                    flg = true;
                }
            }//淦，你写if语句去跳出循环是跳出forj循环不是if
            if(flg == false){
                break;
            }
        }
    }
    */



}



